package com.zrentech.order.util;

import android.graphics.ColorMatrixColorFilter;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnFocusChangeListener;
import android.view.View.OnTouchListener;

public class UIHelper {
	
	  /**  
	   * 按下这个按钮进行的颜色过�? 
	   */  
	  private final static float[] BT_SELECTED=new float[] {    
	      2, 0, 0, 0, 2,    
	      0, 2, 0, 0, 2,    
	      0, 0, 2, 0, 2,    
	      0, 0, 0, 1, 0 };   
	     
	  /**  
	   * 按钮恢复原状的颜色过�? 
	   */  
	  private final static float[] BT_NOT_SELECTED=new float[] {    
	      1, 0, 0, 0, 0,    
	      0, 1, 0, 0, 0,    
	      0, 0, 1, 0, 0,    
	      0, 0, 0, 1, 0 };   
	     
	  /**  
	   * 按钮焦点改变  
	   */  
	  private final static OnFocusChangeListener buttonOnFocusChangeListener=new OnFocusChangeListener() {   
		  @Override  
		  public void onFocusChange(View v, boolean hasFocus) {   
		   if (hasFocus) {   
			    v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_SELECTED));   
			    v.setBackgroundDrawable(v.getBackground());   
		   }   
		   else  
		   {   
		       v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_NOT_SELECTED));   
		       v.setBackgroundDrawable(v.getBackground());   
		   }   
		  }   
	  };   
	    
	  /**  
	   * 按钮触碰按下效果  
	   */  
	 private final static OnTouchListener buttonOnTouchListener=new OnTouchListener() {   
		   @Override  
		   public boolean onTouch(View v, MotionEvent event) {   
			   if(event.getAction() == MotionEvent.ACTION_DOWN){   
				    v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_SELECTED));   
				    v.setBackgroundDrawable(v.getBackground());   
			    }   
			    else if(event.getAction() == MotionEvent.ACTION_UP){   
				    v.getBackground().setColorFilter(new ColorMatrixColorFilter(BT_NOT_SELECTED));   
				    v.setBackgroundDrawable(v.getBackground());   
			    }   
			    return false;   
		   }   
	 };   
	    
	 /**  
	  * 设置图片按钮获取焦点改变状�?
	  * @param inImageButton  
	  */  
	 public final static void setButtonFocusChanged(View inView)   
	 {   
	  inView.setOnTouchListener(buttonOnTouchListener);   
	  inView.setOnFocusChangeListener(buttonOnFocusChangeListener);   
	 }  
}
